/**
* Copyright (c) 2015 UNI-TREND Co., Ltd.
* All rights reserved.  
*  
* @file        
* @brief     
* @version     1.0 
* @author      
* @Email       
* @date        2015-12-3
*/
#pragma once
#include "Assistant.h"
class CSADefaultsetup
{};
class CSAAutosetup
{};
class CSACursor
{};
class CSAPassfail
{};
class CSAAwg
{
public:
    CSAAwg(){};
    ~CSAAwg(){};
    typedef enum
    {
        WAVE_TYPE_SINE,
        WAVE_TYPE_SQUARE,
        WAVE_TYPE_RAMP,
        WAVE_TYPE_PULSE,
        WAVE_TYPE_ARB,
        WAVE_TYPE_NOISE,
        WAVE_TYPE_MAX
    } E_WAVE_TYPE;/** need to create objs for all types */
private:
    E_WAVE_TYPE m_type;
    // TODO: need to def a type with value and unit

    // 1/2
    float m_freq;
    float m_period;
    // 1/2
    float m_vpp;
    float m_offset;
    float m_high;
    float m_low;
    /** only for 3 types*/
    float m_phase;
    float m_duty;// square, pulse, ramp(means symmetry)
    float m_leadEdge;// pulse
    /** only for ARB type*/
    BOOL m_playMode;
    int  m_arbSel;// index of file list??
    
};
class CSADecode
{};
class CSAAux
{};
class CSAFreq
{};
class CSAMath
{};
class CSARef
{};
class CSApp
{};

